import axios from 'axios'
axios.defaults.baseURL = 'http://httpbin.org'
axios.defaults.timeout = 10000
// axios 实例对象
// 2、get请求，并且传入参数
// axios
//   .get('/get', {
//     params: {
//       name: 'codewhy',
//       age: 18
//     },
//     timeout: 5000,
//     headers: {}
//   })
//   .then((res) => {
//     console.log(res.data)
//   })

// axios
//   .post('/post', {
//     data: {
//       name: 'zx',
//       age: 12
//     }
//   })
//   .then((res) => {
//     console.log(res)
//   })

// all 方法接收一个数组参数，多个请求，一起返回
// axios
//   .all([
//     axios.get('/get', { params: { name: 'codewhy', age: 14 } }),
//     axios.post('/post', { data: { name: 'zx', age: 12 } })
//   ])
//   .then((res) => {
//     console.log(res)
//   })

//  axios 拦截器
// fn1 请求发送成功会执行的函数
// fn2 请求发送失败会执行的函数
axios.interceptors.request.use(
  (config) => {
    // 想做的一些操作
    // 1、给请求添加token
    // 2、isloading动画
    console.log('请求成功的拦截')
    return config
  },
  (err) => {
    console.log('请求发送错误')
    return err
  }
)

axios.interceptors.response.use(
  (res) => {
    console.log('响应成功的拦截')
    return res
  },
  (err) => {
    console.log('服务器响应失败')
    return err
  }
)
